Icarus verilogについて無償で使えるVerilogシミュレータはいくつかあります.私が試したもののうち操作が簡単で動作が軽かったIcarus verilogを説明を行います.以下の手順でIcarus verilogをインストールしてください. ①Icarus Verilogのサイトにアクセス http://bleyer.org/icarus/ ②この中の最新版をダウンロードしてインストール. http://bleyer.org/icarus/iverilog-v11-20190809-x64_setup.exe 途中で出てくるチェックは2つとも入れるます. この時波形表示ツールのGTKWaveも同時にインストールされ,パスの設定も必要です. C:\iverilog にインストールされるように. ③windowsの検索からcmdと入力してコマンドプロンプトを表示. ④ コマンドプロンプトから iverilog と入力すると正しくインストールされてパスが通っていれば※注以下のようなメッセージが表示される.ソースファイルを入れればコンパイルできる. ⑤次に,コマンドプロンプトから gtkwave と入力すると波形表示のウィンドウが開く. これでツールのインストールは完了. GKTWwaveのウィンドウは右上の×印で閉じておく. ※注: pathが通ってない時は,以下2つのpathを通す. C:\iverilog\bin C:\iverilog\gtkwave\bin スタートメニューから W→「Windowsシステムツール」→「コントロールパネル」を選ぶ→ 「ユーザーアカウント」アイコンを開く →左の列の一番下「環境変数の変更」を開く →ユーザー環境変数のPathを選び編集→ 新規を押してPathを入力してOK (いろいろ方法はあるので「windows10 pathを通す」検索でしてみてください) 続いて,簡単なディジタル回路をテキストエディタで記述して,コンパイル,波形の表示までを行ってみる. ① 作業用フォルダを作成して移動する. コマンドプロンプトから, mkdir c:\iverilogwork と入力.ここで iverilogwork は作業用のフォルダ名. 続いて以下の入力をして作業用フォルダに移動する. cd c:\iverilogwork ② メモ帳などで右記の通り入力してテキストファイルを作成する.これは2入力(aとb)1出力(c)のAND回路である.ファイル名は gand.v としてCドライブ直下のiverilogworkのフォルダ内に保存する. 拡張子は.vでなければならない.拡張子を表示する設定にして後ろに.txtがつかないように確認すること. (コマンドラインから直接ファイルを作成しても構いません) ファイル名: gand.v -----------ここから----------- module gand(a,b,c); input a,b; output c; assign c=a&b; endmodule -----------ここまで----------- ③次の通り入力してテキストファイルを作成する.ファイル名は gand_tp.v とする.同様に,iverilogworkのフォルダ内に保存する. ※補足説明 gand.vにかかれた回路をテストするための回路です. AND回路を呼び出して,a,bにSTEPに定義された時間経過毎に0や1の値を与えて,時間,a,b,cの状態を出力するように記述されています. ファイル名: gand_tp.v -----------ここから----------- `timescale 1ns/1ns module gand_tp; reg a,b; wire c; parameter STEP = 100; gand gand(a,b,c); initial begin $dumpfile("gand_tp.vcd"); $dumpvars(0,gand_tp); a=1'b0; b=1'b0; #STEP a=1'b0; b=1'b1; #STEP a=1'b1; b=1'b0; #STEP a=1'b1; b=1'b1; #STEP a=1'b0; b=1'b0; #STEP $finish; end initial $monitor($stime, "a=%b b=%b c=%b", a,b,c); endmodule -----------ここまで----------- ④コマンドプロンプトから iverilog -o gand_tp.o gand.v gand_tp.v と入力してコンパイル.エラーが無ければコマンドプロンプトに戻る.エラーがあったらテキストファイルを修正する. ⑤ コマンドプロンプトから vvp gand_tp.o と入力するとシミュレーションを実行.結果がコマンドラインに出力されると同時に,拡張子.vcdのファイルに出力される. ※補足説明 gand_tp.vの中の$monitor(…)にかかれたフォーマットで結果が出力される. $dumpfile,$dumpvars の記述で.vcdファイルが作られる. 波形のみ表示で良ければ,$dumpfile,$dumpvarsの記述だけで,$monitorの記述は省略してよい. 結果表示だけでよければ,$dumpfile,$dumpvarsの記述は不要. ⑥コマンドプロンプトから gtkwave gand_tp.vcd と入力するとGTKWaveが開く.左側のgand_tpの横の+を押すと下の欄に信号名が表示される. ⑦信号名を選んでAppendボタンを押す.ひとつづつ選んでもよいしShiftキーを押しながらまとめて選んでAppendしてもよい. ⑧虫眼鏡ボタン(-)を何度か押すと下図のように信号の変化が表示される.AとbのANDがcに出力されているのが確認できる. ジャンル別一覧
人気のクチコミテーマ
|